//package wechat.service.application
//
//import org.apache.log4j.Logger
//import org.eclipse.xtend.lib.Property
//import org.json.JSONObject
//import wechat.base.snd.encoding.JsonPut
//import wechat.base.snd.util.ExecPost
//
//import static wechat.service.application.QRCodeManager.*
//
//class QRCodeManager{
//	static String WECHAT_QRCODE_URL = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=";
//	static QRCodeManager qrcodeManager = new QRCodeManager(WCServiceAppFactory::serviceApp.token)
//	static Logger logger = Logger::getLogger("QRCodeManager")
//	
//	def static getQRCodeManager(){
//		qrcodeManager
//	}
//	@Property  String token;
//
//	new (String token){
//		this.token = token
//	}
//	def getQRCodeUrl(){
//		WECHAT_QRCODE_URL + this.token
//	}
//	def getPermTicket(QRCode qrcode){
//		logger.info(QRCodeUrl)
//		logger.info(qrcode.toPermJsonRequst.toString)
//		ExecPost::excuteJsonPost(QRCodeUrl, qrcode.toPermJsonRequst.toString)=>[
//			new JSONObject(it)=>[
//				logger.info(it.toString)
//				qrcode.ticket =  it.getString('ticket')	
//			]
//		]
//		
//	}
//	def getTempTicket(QRCode qrcode){
//		logger.info(QRCodeUrl)
//		logger.info(qrcode.toTempJsonRequst.toString)
//		ExecPost::excuteJsonPost(QRCodeUrl, qrcode.toTempJsonRequst.toString)=>[
//			new JSONObject(it)=>[
//				logger.info(it.toString)
//				qrcode.ticket =  it.getString('ticket')	
//			]
//		]
//		
//	}
//}
//class QRCode {
//	@Property String action_name
//	@Property String scene_str
//	@Property String scene_id
//	@Property String ticket
//	@Property String expire_seconds
//	@Property String url
//	new (String scene_id_str){
////		this.scene_id =  scene_id_str
//		this.scene_str = scene_id_str
//	}
//	def JSONObject toPermJsonRequst(){
//		this.action_name = 'QR_LIMIT_STR_SCENE'
//		new JsonPut()=>[
//			putObj('action_info',new JsonPut()=>[
//				putObj('scene', new JsonPut()=>[
//					putObj('scene_str', scene_str)
//				])
//			])
//			putObj('action_name',action_name)
//		]
//	}
//	def JSONObject toTempJsonRequst(){
//		this.action_name = 'QR_SCENE'
//		new JsonPut()=>[
//			putObj('expire_seconds',604800)
//			putObj('action_name',action_name)
//			putObj('action_info',new JsonPut()=>[
//				putObj('scene', new JsonPut()=>[
//					putObj('scene_id', scene_id)
//				])
//			])
//		]
//	}	
//}